package cn.anxingongyou.anxin.entity;

import org.springframework.data.elasticsearch.annotations.Document;
import org.springframework.data.elasticsearch.annotations.Field;
import org.springframework.data.elasticsearch.annotations.FieldType;

import java.io.Serializable;
import java.util.Date;
import javax.persistence.*;

@Table(name = "user_employer_info")
@Document(indexName = "anxin_employer" ,type = "employer")
public class UserEmployerInfo implements Serializable {
    /**
     * 主键
     */
    @Id
    @Field(type = FieldType.Long,store = true)
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    /**
     * 父表主键
     */
    @Column(name = "user_pid")
    @Field(type = FieldType.Long,store = true)
    private Long userPid;

    /**
     * logo图片
     */
    @Field(type = FieldType.Text,store = true)
    private String logo;

    /**
     * 企业名称
     */
    @Column(name = "enterprise_name")
    @Field(type = FieldType.Text,store = true,analyzer = "ik_smart")
    private String enterpriseName;

    /**
     * 联系电话
     */
    @Field(type = FieldType.Text,store = true,analyzer = "ik_smart")
    private String phone;

    /**
     * 企业性质
     */
    @Field(type = FieldType.Text,store = true,analyzer = "ik_smart")
    private String nature;

    /**
     * 所属行业
     */
    @Field(type = FieldType.Text,store = true,analyzer = "ik_smart")
    private String industry;

    /**
     * 企业规模
     */
    @Field(type = FieldType.Text,store = true,analyzer = "ik_smart")
    private String scale;

    /**
     * 企业福利
     */
    @Field(type = FieldType.Text,store = true,analyzer = "ik_smart")
    private String label;

    /**
     * 营业执照
     */
    @Column(name = "`business _license_pic`")
    @Field(type = FieldType.Text,store = true)
    private String businessLicensePic;

    /**
     * 用户自拍照
     */
    @Column(name = "user_pic")
    @Field(type = FieldType.Text,store = true)
    private String userPic;

    /**
     * 是否认证（0:未提交认证 1:未通过认证 2：通过认证 3:等待审核）
     */
    @Column(name = "is_auth")
    @Field(type = FieldType.Integer,store = true)
    private Integer isAuth;

    /**
     * （0:否 1:是）是否vip
     */
    @Column(name = "is_vip")
    @Field(type = FieldType.Integer,store = true)
    private Integer isVip;

    /**
     * （null:无限期 ）vip结束日期
     */
    @Column(name = "vip_end_date")
    @Field(type = FieldType.Date,store = true)
    private Date vipEndDate;

    /**
     * 创建时间
     */
    private Date created;

    /**
     * 更新时间
     */
    private Date updated;

    /**
     * 企业地址
     */
    @Field(type = FieldType.Text,store = true,analyzer = "ik_smart")
    private String address;

    /**
     * 企业介绍
     */
    @Field(type = FieldType.Text,store = true,analyzer = "ik_smart")
    private String introduce;

    private static final long serialVersionUID = 1L;

    /**
     * 获取主键
     *
     * @return id - 主键
     */
    public Long getId() {
        return id;
    }

    /**
     * 设置主键
     *
     * @param id 主键
     */
    public void setId(Long id) {
        this.id = id;
    }

    /**
     * 获取父表主键
     *
     * @return user_pid - 父表主键
     */
    public Long getUserPid() {
        return userPid;
    }

    /**
     * 设置父表主键
     *
     * @param userPid 父表主键
     */
    public void setUserPid(Long userPid) {
        this.userPid = userPid;
    }

    /**
     * 获取logo图片
     *
     * @return logo - logo图片
     */
    public String getLogo() {
        return logo;
    }

    /**
     * 设置logo图片
     *
     * @param logo logo图片
     */
    public void setLogo(String logo) {
        this.logo = logo;
    }

    /**
     * 获取企业名称
     *
     * @return enterprise_name - 企业名称
     */
    public String getEnterpriseName() {
        return enterpriseName;
    }

    /**
     * 设置企业名称
     *
     * @param enterpriseName 企业名称
     */
    public void setEnterpriseName(String enterpriseName) {
        this.enterpriseName = enterpriseName;
    }

    /**
     * 获取联系电话
     *
     * @return phone - 联系电话
     */
    public String getPhone() {
        return phone;
    }

    /**
     * 设置联系电话
     *
     * @param phone 联系电话
     */
    public void setPhone(String phone) {
        this.phone = phone;
    }

    /**
     * 获取企业性质
     *
     * @return nature - 企业性质
     */
    public String getNature() {
        return nature;
    }

    /**
     * 设置企业性质
     *
     * @param nature 企业性质
     */
    public void setNature(String nature) {
        this.nature = nature;
    }

    /**
     * 获取所属行业
     *
     * @return industry - 所属行业
     */
    public String getIndustry() {
        return industry;
    }

    /**
     * 设置所属行业
     *
     * @param industry 所属行业
     */
    public void setIndustry(String industry) {
        this.industry = industry;
    }

    /**
     * 获取企业规模
     *
     * @return scale - 企业规模
     */
    public String getScale() {
        return scale;
    }

    /**
     * 设置企业规模
     *
     * @param scale 企业规模
     */
    public void setScale(String scale) {
        this.scale = scale;
    }

    /**
     * 获取企业福利
     *
     * @return label - 企业福利
     */
    public String getLabel() {
        return label;
    }

    /**
     * 设置企业福利
     *
     * @param label 企业福利
     */
    public void setLabel(String label) {
        this.label = label;
    }

    /**
     * 获取营业执照
     *
     * @return business _license_pic - 营业执照
     */
    public String getBusinessLicensePic() {
        return businessLicensePic;
    }

    /**
     * 设置营业执照
     *
     * @param businessLicensePic 营业执照
     */
    public void setBusinessLicensePic(String businessLicensePic) {
        this.businessLicensePic = businessLicensePic;
    }

    /**
     * 获取用户自拍照
     *
     * @return user_pic - 用户自拍照
     */
    public String getUserPic() {
        return userPic;
    }

    /**
     * 设置用户自拍照
     *
     * @param userPic 用户自拍照
     */
    public void setUserPic(String userPic) {
        this.userPic = userPic;
    }

    /**
     * 获取是否认证（0:未提交认证 1:未通过认证 2：通过认证 3:等待审核）
     *
     * @return is_auth - 是否认证（0:未提交认证 1:未通过认证 2：通过认证 3:等待审核）
     */
    public Integer getIsAuth() {
        return isAuth;
    }

    /**
     * 设置是否认证（0:未提交认证 1:未通过认证 2：通过认证 3:等待审核）
     *
     * @param isAuth 是否认证（0:未提交认证 1:未通过认证 2：通过认证 3:等待审核）
     */
    public void setIsAuth(Integer isAuth) {
        this.isAuth = isAuth;
    }

    /**
     * 获取（0:否 1:是）是否vip
     *
     * @return is_vip - （0:否 1:是）是否vip
     */
    public Integer getIsVip() {
        return isVip;
    }

    /**
     * 设置（0:否 1:是）是否vip
     *
     * @param isVip （0:否 1:是）是否vip
     */
    public void setIsVip(Integer isVip) {
        this.isVip = isVip;
    }

    /**
     * 获取（null:无限期 ）vip结束日期
     *
     * @return vip_end_date - （null:无限期 ）vip结束日期
     */
    public Date getVipEndDate() {
        return vipEndDate;
    }

    /**
     * 设置（null:无限期 ）vip结束日期
     *
     * @param vipEndDate （null:无限期 ）vip结束日期
     */
    public void setVipEndDate(Date vipEndDate) {
        this.vipEndDate = vipEndDate;
    }

    /**
     * 获取创建时间
     *
     * @return created - 创建时间
     */
    public Date getCreated() {
        return created;
    }

    /**
     * 设置创建时间
     *
     * @param created 创建时间
     */
    public void setCreated(Date created) {
        this.created = created;
    }

    /**
     * 获取更新时间
     *
     * @return updated - 更新时间
     */
    public Date getUpdated() {
        return updated;
    }

    /**
     * 设置更新时间
     *
     * @param updated 更新时间
     */
    public void setUpdated(Date updated) {
        this.updated = updated;
    }

    /**
     * 获取企业地址
     *
     * @return address - 企业地址
     */
    public String getAddress() {
        return address;
    }

    /**
     * 设置企业地址
     *
     * @param address 企业地址
     */
    public void setAddress(String address) {
        this.address = address;
    }

    /**
     * 获取企业介绍
     *
     * @return introduce - 企业介绍
     */
    public String getIntroduce() {
        return introduce;
    }

    /**
     * 设置企业介绍
     *
     * @param introduce 企业介绍
     */
    public void setIntroduce(String introduce) {
        this.introduce = introduce;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", id=").append(id);
        sb.append(", userPid=").append(userPid);
        sb.append(", logo=").append(logo);
        sb.append(", enterpriseName=").append(enterpriseName);
        sb.append(", phone=").append(phone);
        sb.append(", nature=").append(nature);
        sb.append(", industry=").append(industry);
        sb.append(", scale=").append(scale);
        sb.append(", label=").append(label);
        sb.append(", businessLicensePic=").append(businessLicensePic);
        sb.append(", userPic=").append(userPic);
        sb.append(", isAuth=").append(isAuth);
        sb.append(", isVip=").append(isVip);
        sb.append(", vipEndDate=").append(vipEndDate);
        sb.append(", created=").append(created);
        sb.append(", updated=").append(updated);
        sb.append(", address=").append(address);
        sb.append(", introduce=").append(introduce);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }
}